{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Logistic 回归&SVM——Diabetes糖尿病分类"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 任务描述与数据说明"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1、 任务描述\n",
    "请在 Pima Indians Diabetes Data Set(皮马印第安人糖尿病数据集)进行分类器练习。\n",
    "需要提交代码文件,并给出必要的结果解释。\n",
    "    1) 训练数据和测试数据分割(随机选择 20%的数据作为测试集);(10 分)\n",
    "    2) 适当的特征工程(及数据探索);(10 分)\n",
    "    3) Logistic 回归,并选择最佳的正则函数(L1/L2)及正则参数;(30 分)\n",
    "    4) 线性 SVM,并选择最佳正则参数,比较与 Logistic 回归的性能,简单说明原因。(20 分)\n",
    "    5)RBF 核的 SVM,并选择最佳的超参数(正则参数、RBF 核函数宽度);(30 分)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2、 数据说明:\n",
    "原始数据集地址: https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes\n",
    "数据集只有一个文件(diabetes.csv):Pima Indians Diabetes Dataset 包括根据医疗记录的比马印第安人 5 年内糖尿病的发病情况,这是一个两类分类问题。\n",
    "每个类的样本数目数量不均等。一共有 768 个样本,每个样本有 8 个输入变量和 1 个输出变量。缺失值通常用零值编码。\n",
    "1)字段说明\n",
    "Pregnancies: 怀孕次数\n",
    "Glucose: 口服葡萄糖耐受试验中,2 小时的血浆葡萄糖浓度。\n",
    "BloodPressure: 舒张压(mm Hg)\n",
    "SkinThickness: 三头肌皮肤褶层厚度(mm)\n",
    "Insulin:2 小时血清胰岛素含量(μU/ ml)\n",
    "BMI: 体重指数(体重,kg /(身高,m)^ 2)\n",
    "2) DiabetesPedigreeFunction: 糖尿病家族史\n",
    "3) Age: 年龄(岁)\n",
    "Outcome: 输出变了/类别标签(0 或 1,出现糖尿病为 1, 否则为 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 首先 import 必要的模块\n",
    "import pandas as pd \n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from sklearn.model_selection import GridSearchCV #\n",
    "\n",
    "#竞赛的评价指标为logloss\n",
    "from sklearn.metrics import log_loss  #\n",
    "\n",
    "from matplotlib import pyplot\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取数据 & 数据探索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6</td>\n",
       "      <td>148</td>\n",
       "      <td>72</td>\n",
       "      <td>35</td>\n",
       "      <td>0</td>\n",
       "      <td>33.6</td>\n",
       "      <td>0.627</td>\n",
       "      <td>50</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>85</td>\n",
       "      <td>66</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>26.6</td>\n",
       "      <td>0.351</td>\n",
       "      <td>31</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>8</td>\n",
       "      <td>183</td>\n",
       "      <td>64</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>23.3</td>\n",
       "      <td>0.672</td>\n",
       "      <td>32</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>89</td>\n",
       "      <td>66</td>\n",
       "      <td>23</td>\n",
       "      <td>94</td>\n",
       "      <td>28.1</td>\n",
       "      <td>0.167</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>137</td>\n",
       "      <td>40</td>\n",
       "      <td>35</td>\n",
       "      <td>168</td>\n",
       "      <td>43.1</td>\n",
       "      <td>2.288</td>\n",
       "      <td>33</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pregnancies  Glucose  BloodPressure  SkinThickness  Insulin   BMI  \\\n",
       "0            6      148             72             35        0  33.6   \n",
       "1            1       85             66             29        0  26.6   \n",
       "2            8      183             64              0        0  23.3   \n",
       "3            1       89             66             23       94  28.1   \n",
       "4            0      137             40             35      168  43.1   \n",
       "\n",
       "   DiabetesPedigreeFunction  Age  Outcome  \n",
       "0                     0.627   50        1  \n",
       "1                     0.351   31        0  \n",
       "2                     0.672   32        1  \n",
       "3                     0.167   21        0  \n",
       "4                     2.288   33        1  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 读取数据\n",
    "# path to where the data lies\n",
    "#dpath = './data/'\n",
    "data = pd.read_csv(\"diabetes.csv\")\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过读取前五行数据可作预判：\n",
    "1.Pregnancies: 怀孕次数. -> 数值大的，多为糖尿病人；有的取值为0，我认为是数据缺失导致人为补编码为0的可能性较大,当然也有可能是真的没有怀孕过。\n",
    "2.Glucose: 口服葡萄糖耐受试验中,2 小时的血浆葡萄糖浓度。-> 高中生物学知识可知，该指标应该跟outcome有很大的关系。\n",
    "3.SkinThickness，三头肌皮肤褶层厚度。-> 有的取值为0，我认为是数据缺失导致人为补编码为0的可能性较大。\n",
    "4.BMI: 体重指数。-> 这个指标应该跟outcome有很大的关系。\n",
    "5.DiabetesPedigreeFunction: 糖尿病家族史 -> 这个指标应该跟outcome有很大的关系。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#对数据缺失值进行处理：\n",
    "#NaN_col_names=['Glucose','BloodPressure','SkinThickness','Insulin','BMI']\n",
    "#print((data[NaN_col_names]== 0).sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 768 entries, 0 to 767\n",
      "Data columns (total 9 columns):\n",
      "Pregnancies                 768 non-null int64\n",
      "Glucose                     768 non-null int64\n",
      "BloodPressure               768 non-null int64\n",
      "SkinThickness               768 non-null int64\n",
      "Insulin                     768 non-null int64\n",
      "BMI                         768 non-null float64\n",
      "DiabetesPedigreeFunction    768 non-null float64\n",
      "Age                         768 non-null int64\n",
      "Outcome                     768 non-null int64\n",
      "dtypes: float64(2), int64(7)\n",
      "memory usage: 54.1 KB\n"
     ]
    }
   ],
   "source": [
    "data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "本数据集中，所有的特征均为数值型: float64(2), int64(7)，即不用考虑文本型的转换问题。在许多数值为空值的地方已经做好了零值编码的处理。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(768, 9)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>3.845052</td>\n",
       "      <td>120.894531</td>\n",
       "      <td>69.105469</td>\n",
       "      <td>20.536458</td>\n",
       "      <td>79.799479</td>\n",
       "      <td>31.992578</td>\n",
       "      <td>0.471876</td>\n",
       "      <td>33.240885</td>\n",
       "      <td>0.348958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>3.369578</td>\n",
       "      <td>31.972618</td>\n",
       "      <td>19.355807</td>\n",
       "      <td>15.952218</td>\n",
       "      <td>115.244002</td>\n",
       "      <td>7.884160</td>\n",
       "      <td>0.331329</td>\n",
       "      <td>11.760232</td>\n",
       "      <td>0.476951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.078000</td>\n",
       "      <td>21.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>62.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>27.300000</td>\n",
       "      <td>0.243750</td>\n",
       "      <td>24.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>117.000000</td>\n",
       "      <td>72.000000</td>\n",
       "      <td>23.000000</td>\n",
       "      <td>30.500000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>0.372500</td>\n",
       "      <td>29.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>6.000000</td>\n",
       "      <td>140.250000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>127.250000</td>\n",
       "      <td>36.600000</td>\n",
       "      <td>0.626250</td>\n",
       "      <td>41.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>17.000000</td>\n",
       "      <td>199.000000</td>\n",
       "      <td>122.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>846.000000</td>\n",
       "      <td>67.100000</td>\n",
       "      <td>2.420000</td>\n",
       "      <td>81.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Pregnancies     Glucose  BloodPressure  SkinThickness     Insulin  \\\n",
       "count   768.000000  768.000000     768.000000     768.000000  768.000000   \n",
       "mean      3.845052  120.894531      69.105469      20.536458   79.799479   \n",
       "std       3.369578   31.972618      19.355807      15.952218  115.244002   \n",
       "min       0.000000    0.000000       0.000000       0.000000    0.000000   \n",
       "25%       1.000000   99.000000      62.000000       0.000000    0.000000   \n",
       "50%       3.000000  117.000000      72.000000      23.000000   30.500000   \n",
       "75%       6.000000  140.250000      80.000000      32.000000  127.250000   \n",
       "max      17.000000  199.000000     122.000000      99.000000  846.000000   \n",
       "\n",
       "              BMI  DiabetesPedigreeFunction         Age     Outcome  \n",
       "count  768.000000                768.000000  768.000000  768.000000  \n",
       "mean    31.992578                  0.471876   33.240885    0.348958  \n",
       "std      7.884160                  0.331329   11.760232    0.476951  \n",
       "min      0.000000                  0.078000   21.000000    0.000000  \n",
       "25%     27.300000                  0.243750   24.000000    0.000000  \n",
       "50%     32.000000                  0.372500   29.000000    0.000000  \n",
       "75%     36.600000                  0.626250   41.000000    1.000000  \n",
       "max     67.100000                  2.420000   81.000000    1.000000  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## 各属性的统计特性\n",
    "data.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "总体来讲，除了Pregnancies和DiabetesPedigreeFunction两个特征外，其余特征的均值还是比较大的。\n",
    "考虑到DiabetesPedigreeFunction可能跟outcome有一定的关系，\n",
    "该特征的均值与方差虽小，但不建议后期drop掉。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7efcfbb73a20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Target 分布，看看各类样本分布是否均衡\n",
    "sns.countplot(data.Outcome);\n",
    "pyplot.xlabel('Outcome');\n",
    "pyplot.ylabel('Number of occurrences');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看出，Outcome为0的样本数大致是Outcome为1的样本数的两倍左右。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 两两特征之间的相关性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#get the names of all the columns\n",
    "cols=data.columns \n",
    "\n",
    "# Calculates pearson co-efficient for all combinations，通常认为相关系数大于0.5的为强相关\n",
    "data_corr = data.corr().abs()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(9, 9)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_corr.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nGNMAeAtIl/D0w4CNxA9DS098leYdy7KmGWNmA8US1q0A/mfd4cXil630f/qFdDX2L3en4FY1shd3\ndwpuN2/LBHen4Hbzyw5zdwpudcrrvz2oYQZRfx/k4cKupdxw6rTo/F8X3Z2C20Wd33tf3ac8qn7d\nVP98lmflape3WR0YSRHqwKgD81+nDow6MOrAqAOjDow6MOrAuMZ/+91WRERERMRTWSb1H3fBGNPM\nGLMv4Uvdb/lF7caYTglf67HLGHOnaRGaAyMiIiIiIqkjYf72x0Bj4ASw0Rjzk2VZu5PEFAMGA7Us\nyzpnjLnjFx2pAyMiIiIi4oHuk0n8VYGDlmUdBjDGzABaE/9VH9f1Aj62LOscgGVZJ5MdJQkNIRMR\nERERkdQSQPzXflx3ImFdUsWB4saYX40xG4wxze50QFVgREREREQ8kBWX+vPrjTFPE3+33usmW5Y1\nOWnILXa7+eYCXsTf/bYe8V/z8YsxpqxlWdE373g9WERERERE5B9L6KxMvkPICeK/T/C6699DeHPM\nBsuyYoAjxph9xHdoNt7qgBpCJiIiIiLigay41H/chY1AMWNMIWOMD9AZ+OmmmLlAfQBjTE7ih5Qd\nvt0B1YEREREREZFUYVlWLNAXWArsAX6wLGuXMWaUMaZVQthS4IwxZjewEhhkWdaZ2x1TQ8hERERE\nRDyQdZff05LaLMtaBCy6ad2IJD9bwICEx99SBUZERERERNIMVWBERERERDzQffI9MClOFRgRERER\nEUkzVIEREREREfFArvgeGHdQBUZERERERNIMVWBERERERDyQdfP33XsIVWBERERERCTNUAVGRERE\nRMQDaQ6MiIiIiIiIm6kCIyIiIiLigTy1AqMOjIiIiIiIB9IkfhERERERETdTBUZERERExANpCJnI\nHcRZce5Owa365azm7hTcasqFUHenIPeB4J2j3Z2C27Wo2NvdKbiPhw5V+SfCLp12dwpuVSizr7tT\nkP8IdWBERFLA/LLD3J2CW6nzIiJy/7Esz6zAaA6MiIiIiIikGarAiIiIiIh4IE8d4a8KjIiIiIiI\npBmqwIiIiIiIeKA4zYERERERERFxL1VgREREREQ8kO5CJiIiIiIi4maqwIiIiIiIeCArThUYERER\nERERt1IFRkRERETEA1mWuzNIHarAiIiIiIhImqEKjIiIiIiIB9IcGBERERERETdTBUZERERExAPF\n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\nAlMTfh6ZepmJiIiIiKezLGsRsOimdSNuE1vv746nDoyIiIiIiAey7qt6UMrRJH4REREREUkzVIER\nEREREfFAnnq7AlVgREREREQkzVAFRkRERETEA6kCIyIiIiIi4maqwIiIiIiIeCBP/ZI+VWBERERE\nRCTNUAVGRERERMQDxel7YERERERERNxLFRgREREREQ+ku5CJiIiIiIi4mSowIiIiIiIeSBUYERER\nERERN1MFRkRERETEA+l7YERERERERNxMFRgREREREQ/kqd8Dow6MiIiIiIgH0iR+ERERERERN1MF\nRkRERETEA2kSv4iIiIiIiJupAiMiIiIi4oHiPLQGow6MpAgvm93dKbjV4b/OuDsFt1p2IdzdKbjd\n3uzF3J2Ce3nmOVL+od93fu3uFNwuc9567k7BbbbGnHZ3CvIfoQ6MiIhICqhatpu7U3ArdV5E7j+6\nC5mIiIiIiIibqQIjIiIiIuKBPHV0ryowIiIiIiKSZqgCIyIiIiLigTQHRkRERERExM1UgRERERER\n8UBxxt0ZpA5VYEREREREJM1QBUZERERExAPFeeh9yFSBERERERGRNEMVGBERERERD+SZ9RdVYERE\nREREJA1RBUZERERExAPpe2BERERERETcTBUYEREREREPpLuQiYiIiIiIuJkqMCIiIiIiHsgz6y/q\nwIiIiIiIeCRN4hcREREREXEzVWBERERERDyQJvGLiIiIiIi4mSowIiIiIiIeyDPrL6rAyH2qceO6\nbN++kl271jBwYO9k2318fPj664/ZtWsNa9bMo0CBvAAEBVXgt98W89tvi/n99yW0atXUaT+bzcaG\nDYuYPftLl7QjJdSsX415a6czf/0PPNW3W7LtlaoHMmPZl2w+sYZGLesn2/5ApoyEbJ3H4DEDXJFu\nimjcuC5bt61g+45VvPjic8m2+/j4MO2rCWzfsYpVq+eSP39ep+158/oTdXIX/fv3Slw38dNxHD26\niY0bl6Z6/imtSr0gpq2ewjdrp/Jon0eSbS9frRyTFn/C8qNLqNPiIadtzwztyZcrPmPqyi/oNyr5\n31JacC/tf3pIT6Ysn8yU5ZOpH1zXVSmnuJr1qzFn7XTmrf+eJ/t2Tba9UvUKfLdsChtPrKZRy3rJ\ntj+QKSNLt87l5TT0PvBPDBsznjotOtOm67PuTiVF6Vx4Q9V6Vfh2zVSmr/2Kx/p0Tra9QrVyfLHk\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7efcfbb13b70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplots(figsize=(13, 9))\n",
    "sns.heatmap(data_corr,annot=True)\n",
    "\n",
    "# Mask unimportant features\n",
    "sns.heatmap(data_corr, mask=data_corr < 1, cbar=False)\n",
    "\n",
    "plt.savefig('Diabates_coor.png' )\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "除了age和怀孕率有稍微强一点的相关性外，其他几个特征之间的相关性较小。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 特征编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 从原始数据中分离输入特征x和输出y\n",
    "y = data['Outcome'].values\n",
    "X = data.drop('Outcome', axis = 1)\n",
    "\n",
    "#用于后续显示权重系数对应的特征\n",
    "columns = X.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#将数据分割训练数据与测试数据 强\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 随机采样20%的数据构建测试样本，其余作为训练样本\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=33, test_size=0.2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 数据标准化\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "# 初始化特征的标准化器\n",
    "ss_X = StandardScaler()\n",
    "\n",
    "# 分别对训练和测试数据的特征进行标准化处理\n",
    "X_train = ss_X.fit_transform(X_train)\n",
    "#X_test = ss_X.transform(X_test)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型训练"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### default Logistic Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "lr= LogisticRegression()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "logloss of each fold is:  [ 0.46129644  0.46510588  0.56426612  0.44377717  0.46617809]\n",
      "cv logloss is: 0.480124740047\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/wlq666888/APPs/Anaconda3-5.0.1-Linux-x86_64/Anaconda3-5.0.1/lib/python3.6/site-packages/sklearn/cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
      "  \"This module will be removed in 0.20.\", DeprecationWarning)\n"
     ]
    }
   ],
   "source": [
    "# 交叉验证用于评估模型性能和进行参数调优（模型选择）\n",
    "#分类任务中交叉验证缺省是采用StratifiedKFold\n",
    "from sklearn.cross_validation import cross_val_score\n",
    "loss = cross_val_score(lr, X_train, y_train, cv=5, scoring='neg_log_loss')\n",
    "print ('logloss of each fold is: ',-loss)\n",
    "print('cv logloss is:', -loss.mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到logloss约为0.48，不是很大。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 正则化的 Logistic Regression及参数调优"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "logistic回归的需要调整超参数有：C（正则系数，一般在log域（取log后的值）均匀设置候选参数）和正则函数penalty（L2/L1） \n",
    "目标函数为：J = sum(logloss(f(xi), yi)) + C* penalty \n",
    "\n",
    "在sklearn框架下，不同学习器的参数调整步骤相同：\n",
    "设置候选参数集合\n",
    "调用GridSearchCV\n",
    "调用fit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5, error_score='raise',\n",
       "       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
       "          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n",
       "          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n",
       "          verbose=0, warm_start=False),\n",
       "       fit_params=None, iid=True, n_jobs=1,\n",
       "       param_grid={'penalty': ['l1', 'l2'], 'C': [0.001, 0.01, 0.1, 1, 10, 100, 1000]},\n",
       "       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=0)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "#需要调优的参数\n",
    "# 请尝试将L1正则和L2正则分开，并配合合适的优化求解算法（slover）\n",
    "#tuned_parameters = {'penalty':['l1','l2'],\n",
    "#                   'C': [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "#                   }\n",
    "penaltys = ['l1','l2']\n",
    "Cs = [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "tuned_parameters = dict(penalty = penaltys, C = Cs)\n",
    "\n",
    "lr_penalty= LogisticRegression()\n",
    "grid= GridSearchCV(lr_penalty, tuned_parameters,cv=5, scoring='neg_log_loss')\n",
    "grid.fit(X_train,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/wlq666888/APPs/Anaconda3-5.0.1-Linux-x86_64/Anaconda3-5.0.1/lib/python3.6/site-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('mean_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "/home/wlq666888/APPs/Anaconda3-5.0.1-Linux-x86_64/Anaconda3-5.0.1/lib/python3.6/site-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('split0_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "/home/wlq666888/APPs/Anaconda3-5.0.1-Linux-x86_64/Anaconda3-5.0.1/lib/python3.6/site-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('split1_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "/home/wlq666888/APPs/Anaconda3-5.0.1-Linux-x86_64/Anaconda3-5.0.1/lib/python3.6/site-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('split2_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "/home/wlq666888/APPs/Anaconda3-5.0.1-Linux-x86_64/Anaconda3-5.0.1/lib/python3.6/site-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('split3_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "/home/wlq666888/APPs/Anaconda3-5.0.1-Linux-x86_64/Anaconda3-5.0.1/lib/python3.6/site-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('split4_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "/home/wlq666888/APPs/Anaconda3-5.0.1-Linux-x86_64/Anaconda3-5.0.1/lib/python3.6/site-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('std_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'mean_fit_time': array([ 0.00078797,  0.00112724,  0.00090227,  0.00104032,  0.00099187,\n",
       "         0.00150242,  0.0011642 ,  0.0013731 ,  0.00149179,  0.00122561,\n",
       "         0.00116749,  0.00126624,  0.00120554,  0.00118284]),\n",
       " 'mean_score_time': array([ 0.00087328,  0.00114169,  0.00084953,  0.00082078,  0.00075359,\n",
       "         0.00099306,  0.00082197,  0.00077295,  0.00090227,  0.00093594,\n",
       "         0.00082383,  0.00078969,  0.00081677,  0.00073819]),\n",
       " 'mean_test_score': array([-0.69314718, -0.64214833, -0.6721329 , -0.52844007, -0.48658995,\n",
       "        -0.47999943, -0.48043689, -0.48017599, -0.48089885, -0.48086932,\n",
       "        -0.48095153, -0.48095123, -0.48095781, -0.48095956]),\n",
       " 'mean_train_score': array([-0.69314718, -0.6412946 , -0.67079105, -0.52380684, -0.47502458,\n",
       "        -0.46674403, -0.46228786, -0.46214818, -0.46206769, -0.46206619,\n",
       "        -0.46206531, -0.4620653 , -0.46206529, -0.46206529]),\n",
       " 'param_C': masked_array(data = [0.001 0.001 0.01 0.01 0.1 0.1 1 1 10 10 100 100 1000 1000],\n",
       "              mask = [False False False False False False False False False False False False\n",
       "  False False],\n",
       "        fill_value = ?),\n",
       " 'param_penalty': masked_array(data = ['l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2'],\n",
       "              mask = [False False False False False False False False False False False False\n",
       "  False False],\n",
       "        fill_value = ?),\n",
       " 'params': [{'C': 0.001, 'penalty': 'l1'},\n",
       "  {'C': 0.001, 'penalty': 'l2'},\n",
       "  {'C': 0.01, 'penalty': 'l1'},\n",
       "  {'C': 0.01, 'penalty': 'l2'},\n",
       "  {'C': 0.1, 'penalty': 'l1'},\n",
       "  {'C': 0.1, 'penalty': 'l2'},\n",
       "  {'C': 1, 'penalty': 'l1'},\n",
       "  {'C': 1, 'penalty': 'l2'},\n",
       "  {'C': 10, 'penalty': 'l1'},\n",
       "  {'C': 10, 'penalty': 'l2'},\n",
       "  {'C': 100, 'penalty': 'l1'},\n",
       "  {'C': 100, 'penalty': 'l2'},\n",
       "  {'C': 1000, 'penalty': 'l1'},\n",
       "  {'C': 1000, 'penalty': 'l2'}],\n",
       " 'rank_test_score': array([14, 12, 13, 11, 10,  1,  3,  2,  5,  4,  7,  6,  8,  9], dtype=int32),\n",
       " 'split0_test_score': array([-0.69314718, -0.64371675, -0.66946739, -0.52816851, -0.48618008,\n",
       "        -0.4678555 , -0.46345935, -0.46129644, -0.46108862, -0.46088502,\n",
       "        -0.46086687, -0.4608487 , -0.46084545, -0.46084513]),\n",
       " 'split0_train_score': array([-0.69314718, -0.64085132, -0.66189542, -0.52529099, -0.47823735,\n",
       "        -0.47085398, -0.46684273, -0.46669378, -0.46662382, -0.46662226,\n",
       "        -0.46662151, -0.46662149, -0.46662149, -0.46662148]),\n",
       " 'split1_test_score': array([-0.69314718, -0.64113725, -0.67517494, -0.52518603, -0.47167775,\n",
       "        -0.47077815, -0.46426396, -0.46510588, -0.46463171, -0.46473286,\n",
       "        -0.46468863, -0.46469927, -0.46469107, -0.46469595]),\n",
       " 'split1_train_score': array([-0.69314718, -0.64188719, -0.67797602, -0.52532854, -0.47970273,\n",
       "        -0.47076994, -0.46692694, -0.46678157, -0.46671608, -0.4667146 ,\n",
       "        -0.4667139 , -0.46671388, -0.46671388, -0.46671388]),\n",
       " 'split2_test_score': array([-0.69314718, -0.64575466, -0.6680453 , -0.5512625 , -0.54752904,\n",
       "        -0.54301469, -0.56469666, -0.56426612, -0.56847371, -0.56834734,\n",
       "        -0.56879576, -0.56879096, -0.56883511, -0.5688357 ]),\n",
       " 'split2_train_score': array([-0.69314718, -0.63908575, -0.66162164, -0.5135644 , -0.45564339,\n",
       "        -0.44783203, -0.44194585, -0.44184498, -0.44173185, -0.44173047,\n",
       "        -0.44172922, -0.4417292 , -0.44172919, -0.44172919]),\n",
       " 'split3_test_score': array([-0.69314718, -0.63856226, -0.67581323, -0.50975335, -0.45503007,\n",
       "        -0.44706595, -0.44366087, -0.44377717, -0.44397515, -0.44400066,\n",
       "        -0.44402927, -0.4440332 , -0.44403435, -0.44403656]),\n",
       " 'split3_train_score': array([-0.69314718, -0.64333601, -0.67874616, -0.5309552 , -0.48382535,\n",
       "        -0.47509784, -0.47066646, -0.47052445, -0.47044459, -0.47044314,\n",
       "        -0.47044227, -0.47044226, -0.47044225, -0.47044225]),\n",
       " 'split4_test_score': array([-0.69314718, -0.64152376, -0.67221592, -0.52767402, -0.47216223,\n",
       "        -0.47104103, -0.46582384, -0.46617809, -0.46606535, -0.46612355,\n",
       "        -0.46611965, -0.4661268 , -0.46612578, -0.46612722]),\n",
       " 'split4_train_score': array([-0.69314718, -0.64131272, -0.67371601, -0.52389506, -0.47771408,\n",
       "        -0.46916638, -0.46505734, -0.46489609, -0.46482211, -0.46482048,\n",
       "        -0.46481966, -0.46481964, -0.46481963, -0.46481963]),\n",
       " 'std_fit_time': array([ 0.00011691,  0.00025248,  0.00034743,  0.00012601,  0.00015323,\n",
       "         0.0007256 ,  0.00021453,  0.00055777,  0.00065603,  0.00016213,\n",
       "         0.00017148,  0.00016452,  0.00019715,  0.00013445]),\n",
       " 'std_score_time': array([  7.25528381e-05,   4.97937659e-04,   1.43224881e-04,\n",
       "          1.20429716e-04,   8.24072565e-05,   2.73518441e-04,\n",
       "          1.82858788e-04,   1.10085890e-04,   1.99933539e-04,\n",
       "          1.76507933e-04,   1.00235957e-04,   8.53356550e-05,\n",
       "          1.76961548e-04,   4.84963316e-05]),\n",
       " 'std_test_score': array([ 0.        ,  0.00243715,  0.00305426,  0.0132657 ,  0.0320589 ,\n",
       "         0.03276814,  0.04294212,  0.04285084,  0.0445337 ,  0.04448689,\n",
       "         0.04466396,  0.04466183,  0.04468   ,  0.04467945]),\n",
       " 'std_train_score': array([ 0.        ,  0.00138524,  0.00757197,  0.00566626,  0.00992496,\n",
       "         0.00965834,  0.01033379,  0.01031565,  0.01033123,  0.01033118,\n",
       "         0.01033136,  0.01033136,  0.01033136,  0.01033136])}"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# view the complete results (list of named tuples)\n",
    "grid.cv_results_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.479999434937\n",
      "{'C': 0.1, 'penalty': 'l2'}\n"
     ]
    }
   ],
   "source": [
    "# examine the best model\n",
    "print(-grid.best_score_)\n",
    "print(grid.best_params_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最佳正则参数c为0.1，最佳正则函数为l2正则。比缺省的稍微好一点。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/wlq666888/APPs/Anaconda3-5.0.1-Linux-x86_64/Anaconda3-5.0.1/lib/python3.6/site-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('mean_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "/home/wlq666888/APPs/Anaconda3-5.0.1-Linux-x86_64/Anaconda3-5.0.1/lib/python3.6/site-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('std_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nRSmllFf8P1FG2JCQpwD+AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7efcf38b67b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot CV误差曲线\n",
    "test_means = grid.cv_results_[ 'mean_test_score' ]\n",
    "test_stds = grid.cv_results_[ 'std_test_score' ]\n",
    "train_means = grid.cv_results_[ 'mean_train_score' ]\n",
    "train_stds = grid.cv_results_[ 'std_train_score' ]\n",
    "\n",
    "\n",
    "# plot results\n",
    "n_Cs = len(Cs)\n",
    "number_penaltys = len(penaltys)\n",
    "test_scores = np.array(test_means).reshape(n_Cs,number_penaltys)\n",
    "train_scores = np.array(train_means).reshape(n_Cs,number_penaltys)\n",
    "test_stds = np.array(test_stds).reshape(n_Cs,number_penaltys)\n",
    "train_stds = np.array(train_stds).reshape(n_Cs,number_penaltys)\n",
    "\n",
    "x_axis = np.log10(Cs)\n",
    "for i, value in enumerate(penaltys):\n",
    "    #pyplot.plot(log(Cs), test_scores[i], label= 'penalty:'   + str(value))\n",
    "    pyplot.errorbar(x_axis, test_scores[:,i], yerr=test_stds[:,i] ,label = penaltys[i] +' Test')\n",
    "    pyplot.errorbar(x_axis, train_scores[:,i], yerr=train_stds[:,i] ,label = penaltys[i] +' Train')\n",
    "    \n",
    "pyplot.legend()\n",
    "pyplot.xlabel( 'log(C)' )                                                                                                      \n",
    "pyplot.ylabel( 'neg-logloss' )\n",
    "pyplot.savefig('LogisticGridSearchCV_C.png' )\n",
    "\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "上图给出了L1正则和L2正则下、不同正则参数C对应的模型在训练集上测试集上的正确率（score）。\n",
    "一般，C越大，拟合越好。C为0.1时，最好。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
